/**
 * 里面使用 promise 完成异步操作
 * @returns {Promise<any>}
 */
function getData() {
    // 返回值是一个 promise对象
    return new Promise(function (resolve, reject) {

        // 异步操作的代码 1. 定时器 2. ajax 请求
        var xhr = new XMLHttpRequest();
        xhr.open('get', 'url');
        xhr.onreadystatechange = function () {
            if (xhr.readyState == 4) {
                console.log(xhr.responseText);
                resolve(xhr.responseText);

            }
        }
        xhr.send();

    });


}

async function run() {
    try {
        let info = await getData(); // await 等后面的函数返回值一定是一个 promise对象
        console.log(info); // info 就是getData函数里面 Promise resolve时候的数据
    } catch (e) {
        console.log(e);
    }
}

run();
